package com.lanlion.porlet.common;

/**
 * 服务商分账请求实体类
 */
@CommonEntityFileAnnotation(type = "class",name = "wechat_share_funds")
public class WechatShareFundsEntity {

    //微信支付分配的商户号
    @CommonEntityFileAnnotation(type = "String",name = "mch_id")
    private String mchId;

    //微信支付分配的子商户号
    @CommonEntityFileAnnotation(type = "String",name = "sub_mch_id")
    private String subMchId;

    //微信分配的公众账号ID
    @CommonEntityFileAnnotation(type = "String",name = "appid")
    private String appid;

    //微信分配的子商户公众账号ID
    @CommonEntityFileAnnotation(type = "String",name = "sub_appid")
    private String subAppid;

    //随机字符串，不长于32位
    @CommonEntityFileAnnotation(type = "String",name = "nonce_str")
    private String nonceStr;

    @CommonEntityFileAnnotation(type = "String",name = "sign")
    private String sign;

    //签名类型，目前只支持HMAC-SHA256
    @CommonEntityFileAnnotation(type = "String",name = "sign_type")
    private String signType;

    //微信支付订单号
    @CommonEntityFileAnnotation(type = "String",name = "transaction_id")
    private String transactionId;

    //服务商系统内部的分账单号，在服务商系统内部唯一（单次分账、多次分账、完结分账应使用不同的商户分账单号）
    // 同一分账单号多次请求等同一次。只能是数字、大小写字母_-|*@
    @CommonEntityFileAnnotation(type = "String",name = "out_order_no")
    private String outOrderNo;

    //分账接收方列表，不超过50个json对象，不能设置出资子商户作为分账接受方,eg:
    /**
     * {
            "type": "PERSONAL_WECHATID", 可选MERCHANT_ID，PERSONAL_WECHATID，PERSONAL_OPENID，PERSONAL_SUB_OPENID
            "account":"86693952",
             "amount":888,
             "description": "分到个人"
        }
     **/
    @CommonEntityFileAnnotation(type = "String",name = "receivers")
    private String receivers;

    //获取统一支付订单时请求添加分账：分账接收方对象，json格式
    @CommonEntityFileAnnotation(type = "String",name = "receiver")
    private String receiver;

    //分账描述，完结分账时必填字段
    @CommonEntityFileAnnotation(type = "String",name = "description")
    private String description;

    public String getReceiver() {
        return receiver;
    }

    public void setReceiver(String receiver) {
        this.receiver = receiver;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public String getSubMchId() {
        return subMchId;
    }

    public void setSubMchId(String subMchId) {
        this.subMchId = subMchId;
    }

    public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getSubAppid() {
        return subAppid;
    }

    public void setSubAppid(String subAppid) {
        this.subAppid = subAppid;
    }

    public String getNonceStr() {
        return nonceStr;
    }

    public void setNonceStr(String nonceStr) {
        this.nonceStr = nonceStr;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getSignType() {
        return signType;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public String getOutOrderNo() {
        return outOrderNo;
    }

    public void setOutOrderNo(String outOrderNo) {
        this.outOrderNo = outOrderNo;
    }

    public String getReceivers() {
        return receivers;
    }

    public void setReceivers(String receivers) {
        this.receivers = receivers;
    }
}
